@emailmaker/emailmaker 1.1.108 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -1
- package/emailmaker-core.fec11667.js +859 -0
- package/emailmaker-esm.js +11 -11
- package/{emailmaker-po.d5e4bde1.js → emailmaker-po.fec11667.js} +1 -1
- package/emailmaker.d.ts +220 -1
- package/emailmaker.js +12 -12
- package/iframe/.vite/manifest.json +4 -4
- package/iframe/{iframe-eblock.d5e4bde1.html → iframe-eblock.fec11667.html} +2 -2
- package/iframe/{iframe.d5e4bde1.html → iframe.fec11667.html} +2 -2
- package/iframe/js/{elMarkupHelper.C66zL1zp.js → elMarkupHelper.Dv3AYDYP.js} +79 -79
- package/iframe/js/{iframe-eblock.body.d5e4bde1.js → iframe-eblock.body.fec11667.js} +1 -1
- package/iframe/js/iframe-eblock.js +2 -2
- package/iframe/js/{iframe.body.d5e4bde1.js → iframe.body.fec11667.js} +1 -1
- package/iframe/js/iframe.js +2 -2
- package/package.json +1 -1
- package/runtime/react/index.js +1 -1
- package/static/core/{6ba8aedc.js → 29b3ccef.js} +1 -1
- package/static/core/{edf49656.js → 2e70fae0.js} +3 -3
- package/static/core/{e1f8b6ea.js → 44fac8d4.js} +1 -1
- package/static/core/{6f6a92e3.js → 5c4239d8.js} +1 -1
- package/static/core/{7e51da74.js → 64c27f91.js} +1 -1
- package/static/core/{b916e437.js → 727a165f.js} +1 -1
- package/static/core/{dbc12df7.js → 790366d3.js} +1 -1
- package/static/core/{2734fa96.js → 7be64bf5.js} +1 -1
- package/static/core/{22140fa1.js → 7d006e7b.js} +1 -1
- package/static/core/{7985de17.js → 83d2ca5d.js} +6 -6
- package/static/core/{d8800deb.js → 8b89090c.js} +1 -1
- package/static/core/{8a621181.js → 8da91a53.js} +1 -1
- package/static/core/{13b2a363.js → 99c15a5d.js} +1 -1
- package/static/core/{ecaf7c36.js → 9f7e0f94.js} +1 -1
- package/static/core/a2c7aeb0.js +1 -0
- package/static/core/{d74c1e57.js → a9235d9e.js} +1 -1
- package/static/core/{566e8ce8.js → b27aec0b.js} +1 -1
- package/static/core/{6e8d008d.js → b74171bd.js} +1 -1
- package/static/core/{8889dbc6.js → b7dee12b.js} +1 -1
- package/static/core/{b43852b9.js → bbb87124.js} +1 -1
- package/static/core/{756e184f.js → c5713f94.js} +1 -1
- package/static/core/{f37da79c.js → ccb090eb.js} +1 -1
- package/static/core/{6c52be40.js → db685f4e.js} +1 -1
- package/static/core/{d5cd2a7b.js → e15ab856.js} +1 -1
- package/static/core/{3a6dbf2b.js → e7bbe544.js} +1 -1
- package/static/core/{7e69b03c.js → ec5f739e.js} +1 -1
- package/static/core/{f20ffa90.js → f2ced98d.js} +2 -2
- package/static/core/{2455e45e.js → f54ef492.js} +1 -1
- package/static/esm/ae0fe329.js +1 -0
- package/static/umd-runtime/runtime.CunK0nEC.js +1 -0
- package/vendor/@emailmaker/ui-kit/package.json +1 -1
- package/emailmaker-core.d5e4bde1.js +0 -859
- package/static/core/a22823f9.js +0 -1
- package/static/esm/73c89921.js +0 -1
- package/static/umd-runtime/runtime.BZcjM8iG.js +0 -1
package/README.md
CHANGED
|
@@ -555,6 +555,7 @@ HTML-разметка письма.
|
|
|
555
555
|
| nextButtonText | Текст на второстепенной кнопке. | '' |
|
|
556
556
|
| saveButtonEnabled | Показ основной кнопки. | true |
|
|
557
557
|
| saveButtonText | Текст основной кнопки. | '' |
|
|
558
|
+
| saveHotkeyEnabled | Сохранение по Ctrl+S / Cmd+S. `false` отключает его; диалог браузера «Сохранить страницу» всё равно не открывается. | true |
|
|
558
559
|
| commandButtonsEnabled | Показ основной и второстепенной кнопки. | true |
|
|
559
560
|
| | | |
|
|
560
561
|
| sidePanelFloating | Плавающая боковая панель. | true |
|
|
@@ -771,7 +772,8 @@ emailmaker.init({
|
|
|
771
772
|
| handleShareEmail | Поделиться. |
|
|
772
773
|
| handleLivePreviewEmail | Живой предпросмотр. |
|
|
773
774
|
| handlePreviewEmail | Предпросмотр. |
|
|
774
|
-
| handleValidate |
|
|
775
|
+
| handleValidate | Ошибки редактора кода (**`CodeError[]`**) — то, что он подчёркивает. Приходит после проверки текста в редакторе: пока ошибки есть — на каждую правку, и один раз, когда они исчезли; если ошибок не было и нет — не приходит. Только после того, как режим кода хоть раз открывали. Проверить письмо по требованию — **`validateCode()`**. |
|
|
776
|
+
| handleImportValidate | Ошибки разметки импортируемого файла (**`{ errors: CodeError[], fileName }`**), найденные до разбора браузером: браузер молча «чинит» сбитую разметку, и редактор ошибок уже не увидит. Файл проверяется, только если на событие есть подписчики. Импорт событие не задерживает и не отменяет; у чистого файла **`errors`** пустой. |
|
|
775
777
|
| handleTestEmailSend | Отправка тестового письма. |
|
|
776
778
|
| handleTestEmailModal | Открыто окно тестовой отправки. |
|
|
777
779
|
| handleDestroy | Перед уничтожением экземпляра. |
|
|
@@ -783,9 +785,60 @@ emailmaker.init({
|
|
|
783
785
|
| handleReadLocale | Язык интерфейса (**`AppConfigMixin`**). Каталог возвращается текстом **`.po`**, JSON-строкой или готовым объектом **`LocaleData`**. |
|
|
784
786
|
| handleTranslate | Пользовательский перевод строк. |
|
|
785
787
|
| handleLimitUsage | Отображение квот / лимитов. |
|
|
788
|
+
| handleAnalyticsEvent | Действие пользователя в редакторе — для вашей аналитики; см. ниже. |
|
|
786
789
|
|
|
787
790
|
Полный перечень и сигнатуры — в **`emailmaker.d.ts`** (**`ExportedApi.DataMixin.Events`** и смежные миксины).
|
|
788
791
|
|
|
792
|
+
#### Аналитика: `handleAnalyticsEvent`
|
|
793
|
+
|
|
794
|
+
Редактор сообщает о действиях пользователя — для вашей аналитики (Amplitude, GA и т. п.). Событие —
|
|
795
|
+
**`{ name, properties }`**:
|
|
796
|
+
|
|
797
|
+
- **`name`** — имя вида `editor_<объект>_<действие>`: `editor_email_saved`, `editor_layout_convert_succeeded`;
|
|
798
|
+
- **`properties`** — только закрытые списки значений, числа и флажки. Идентификаторов, имён, текста
|
|
799
|
+
письма и адресов в событиях нет. Связать событие со своим письмом или пользователем — ваша часть:
|
|
800
|
+
добавьте свой идентификатор при передаче в аналитику.
|
|
801
|
+
|
|
802
|
+
Обработчик не ждут: его результат не используется, исключение в нём на редактор не влияет. События
|
|
803
|
+
приходят независимо от **`pushToGTM`**. Частые события — правка настройки элемента, ширина холста —
|
|
804
|
+
приходят одним, после паузы.
|
|
805
|
+
|
|
806
|
+
```javascript
|
|
807
|
+
emailmaker.init({
|
|
808
|
+
element: '#editor',
|
|
809
|
+
content: { email: { id: '1' } },
|
|
810
|
+
getAuthToken,
|
|
811
|
+
handleAnalyticsEvent: ({ name, properties }) => {
|
|
812
|
+
amplitude.track(name, { ...properties, letter_id: currentLetterId });
|
|
813
|
+
},
|
|
814
|
+
});
|
|
815
|
+
```
|
|
816
|
+
|
|
817
|
+
Конвертация чужой вёрстки (BeeFree, Stripo и прочей):
|
|
818
|
+
|
|
819
|
+
| Событие | Когда | Свойства |
|
|
820
|
+
| --- | --- | --- |
|
|
821
|
+
| `editor_layout_convert_offered` | Показано предложение сконвертировать | `source`, `trigger` |
|
|
822
|
+
| `editor_layout_convert_declined` | Предложение отклонено | `source`, `trigger`, `never_suggest` |
|
|
823
|
+
| `editor_layout_convert_started` | Начата попытка | `source`, `method`, `trigger` |
|
|
824
|
+
| `editor_layout_convert_succeeded` | Результат в редакторе | `source`, `method`, `trigger`, `duration_ms`, `fallback_to_ai` |
|
|
825
|
+
| `editor_layout_convert_failed` | Попытка не удалась | `source`, `method`, `trigger`, `duration_ms`, `error_code` |
|
|
826
|
+
|
|
827
|
+
`source` — `beefree` / `stripo` / `unknown`; `method` — `algorithm` / `ai`; `trigger` — `prompt` (предложение
|
|
828
|
+
при открытии письма), `import`, `menu`, `retry`.
|
|
829
|
+
|
|
830
|
+
Остальные события:
|
|
831
|
+
|
|
832
|
+
| Область | События |
|
|
833
|
+
| --- | --- |
|
|
834
|
+
| Письмо и блок | `editor_email_saved`, `editor_block_saved`, `editor_back_clicked`, `editor_email_deleted`, `editor_email_delete_clicked`, `editor_email_delete_modal_opened`, `editor_email_duplicate_clicked`, `editor_email_duplicated`, `editor_email_import_clicked`, `editor_email_imported`, `editor_email_exported`, `editor_email_locked`, `editor_email_unlocked`, `editor_block_locked`, `editor_block_unlocked` |
|
|
835
|
+
| Холст и панели | `editor_element_added`, `editor_element_setting_changed`, `editor_canvas_resized`, `editor_pane_tab_opened`, `editor_config_mode_changed`, `editor_mode_changed`, `editor_code_mode_activated`, `editor_breadcrumb_clicked` |
|
|
836
|
+
| Проверки и предпросмотр | `editor_code_checked`, `editor_links_checked`, `editor_images_checked`, `editor_spam_checked`, `editor_preview_opened`, `editor_test_email_modal_opened`, `editor_test_email_sent`, `editor_email_shared`, `editor_inbox_tests_opened`, `editor_version_history_opened`, `editor_web_version_opened` |
|
|
837
|
+
| ИИ и обсуждение | `editor_ai_message_sent`, `editor_ai_reply_received`, `editor_ai_role_selected`, `editor_ai_subject_inserted`, `editor_ai_preheader_inserted`, `editor_comment_sent`, `editor_ai_image_generation_started` |
|
|
838
|
+
|
|
839
|
+
Свойства каждого события и их значения — в **`emailmaker.d.ts`**, **`ExportedApi.DataMixin.AnalyticsEventMap`**.
|
|
840
|
+
Событие приходит, только если соответствующая функция включена в конфигурации.
|
|
841
|
+
|
|
789
842
|
#### Восстановление автосохранения
|
|
790
843
|
|
|
791
844
|
- Восстановленное содержимое редактор считает текущим: событий правки (**`handleEmailChanged`**, **`handleHtmlChanged`**) не будет, пока пользователь не изменит письмо. Автосохранение при этом остаётся у вас, поэтому при следующем открытии письмо восстановится снова.
|